private void GetSearchResult(BooleanQuery bQuery,Dictionary<string,string> dicKeywords) { IndexSearcher search = new IndexSearcher(IndexDic,true); Stopwatch stopwatch = Stopwatch.StartNew(); //SortField构造函数第三个字段true为降序,false为升序 Sort sort = new Sort(new SortField("AddTime", SortField.DOC, true)); TopDocs docs = search.Search(bQuery, (Filter)null, PageSize * PageIndex, sort); stopwatch.Stop(); if (docs != null && docs.totalHits > 0) { lSearchTime = stopwatch.ElapsedMilliseconds; txtPageFoot = GetPageFoot(PageIndex, PageSize, docs.totalHits, "sabrosus"); for (int i = 0; i < docs.totalHits; i ) { if (i >= (PageIndex - 1) * PageSize && i < PageIndex * PageSize) { Document doc = search.Doc(docs.scoreDocs[i].doc); Article model = new Article() { Title = doc.Get("Title").ToString(), Content = doc.Get("Content").ToString(), AddTime = doc.Get("AddTime").ToString() }; list.Add(SetHighlighter(dicKeywords, model)); } } } }
评论